package com.example.utils;

import com.example.entity.RestBean;
import org.springframework.stereotype.Component;

import java.util.function.Supplier;

/**
 * 作者:xuSen
 * 日期2025/4/28 14:52
 */
@Component
public class ControllerUtils {
    /**
     * 针对于返回值为String作为错误信息的方法进行统一处理
     *
     * @param action 具体操作
     * @param <T>    响应结果类型
     * @return 响应结果
     */

    public  <T> RestBean<T> messageHandle(Supplier<String> action) {
        // 执行具体操作并获取结果消息
        String message = action.get();
        // 如果消息为空，则表示操作成功，返回成功响应
        if (message == null)
            return RestBean.success();
            // 否则，表示操作失败，返回包含错误消息的失败响应
        else
            return RestBean.failure(400, message);
    }
}
